#include <stdbool.h>

 struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
 };
 
bool isSameTree(struct TreeNode* p, struct TreeNode* q){
    if(!p&&!q) return true; //如果都为空 或 递归到最后都为空 则相等
    if(!p||!q) return false;//如果其中一个不为空另一个为空 则不相等
    if(p->val!=q->val) return false; //值不相等为空
    return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
    //开始递归 遍历左子树后完全相等后 再遍历右子树是不是完全相等 有一个满足false条件则为false
}
